# 06-图书案例.py  93-94 图书库存管理系统
list=[
    {'id':6666,"book_name":'PS入门到精通',"date":'2023-6-1',"price":39.9,'ck':5},{'id':6667,"book_name":'SSM框架应用实战',"date":'2024-6-1',"price":69.9,'ck':4},{'id':6668,"book_name":'python开发基础',"date":'2025-6-1',"price":39.8,'ck':41}
    ]
# 显示书目信息
def info_bookName(list):
    print("书号",'\t\t',"书名",'\t\t',"出版时间","\t","价格")
    for x in reversed(list):
        print(x['id'],"\t",x['book_name'],"\t",x['date'],'\t',x['price'])
# 显示图书库存信息
def info_ck(list):
    for x in reversed(list):
        print(x['id'],'\t',x['book_name'],'\t',x['ck'])
# 添加书目信息
def add_book(list):
    id = int(input('请输入书籍的编号：'))
    book_name = input('请输入书籍的名称：')
    date = input('请输入图书出版时间：')
    price = float(input('请输入图书的定价：'))
    # 相当于往list添加一个字典
    # 列表添加元素（后面，界面渲染时候就需要反过来） append()
    list.append({"id":id,"book_name":book_name,"date":date,"price":price,"ck":1})
# 修改图书库存
def up_book(list):
    id = int(input("请输入书籍编号"))
    # 判断输入的编号是否在列表中
    # 通过循环遍历出每一本图书的编号进行判断
    flag = False # 假设没有这本图书
    for x in list:
        if x['id']==id:
            flag =True # 修改为有
            # 修改库存
            ck = int(input('请输入修改的库存：'))
            # 修改库存 这里的x就是判断后找到这本图书的信息
            x['ck']=ck
    if flag=="False":
            # bug 每次遍历判断都会只要没有都会输出这句话
            # 只有确实list中没有这本图书才需输出这句话
            print('没有该图书')
def main():
    print('=======================')
    print('图书库存管理系统v1.0')
    while True:
        print('1.显示书目信息')
        print('2.显示图书库存信息')
        print('3.添加书目信息')
        print('4.修改图书库存量')
        print('5.退出系统')
        print('======================')
        index = input('请输入要执行的操作:')
        if index =="1": info_bookName(list)
        if index=="2":info_ck(list)
        if index=="3":add_book(list)
        if index=="4":up_book(list)
        if index=="5":break # 退出系统
main()